package com.smallkingson.ylib.view.utils;

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;

public class YCanvases {

	public static void drawImage(Canvas canvas, Bitmap blt, int bx, int by,
			int w, int h, int x, int y) { // x,y表示绘画的起点，

		// 图片
		Rect src = new Rect();
		// 屏幕位置及尺寸
		Rect dst = new Rect();
		// src 这个是表示绘画图片的大小
		// 0,0
		src.left = bx;
		src.top = by;
		// mBitDestTop.getWidth();,这个是桌面图的宽度，
		src.right = bx + w;
		// mBitDestTop.getHeight()/2;// 这个是桌面图的高度的一半
		src.bottom = by + h;
		// 下面的 dst 是表示 绘画这个图片的位置
		// miDTX,//这个是可以改变的，也就是绘图的起点X位置
		dst.left = x;
		// mBitQQ.getHeight();//这个是QQ图片的高度。 也就相当于 桌面图片绘画起点的Y坐标
		dst.top = y;
		// miDTX + mBitDestTop.getWidth();// 表示需绘画的图片的右上角
		dst.right = x + w;
		// mBitQQ.getHeight() +
		// mBitDestTop.getHeight();//表示需绘画的图片的右下角
		dst.bottom = y + h;
		// 这个方法 第一个参数是图片原来的大小，第二个参数是
		// 绘画该图片需显示多少。也就是说你想绘画该图片的某一些地方，而不是全部图片，第三个参数表示该图片绘画的位置
		canvas.drawBitmap(blt, src, dst, null);

		src = null;
		dst = null;
	}

	public static void draw(Canvas canvas, Bitmap bitmap, int x, int y) {

		int width = bitmap.getWidth();

		int height = bitmap.getHeight();

		Rect src = new Rect(0, 0, width, height);

		Rect dst = new Rect(x, y, width + x, height + y);

		canvas.drawBitmap(bitmap, src, dst, null);
	}

	public static void draw(Canvas canvas, Bitmap bitmap, int x, int y,
			int width, int height) {

		draw(canvas, bitmap, x, y, width, height, null);
	}
	public static void draw(Canvas canvas, Bitmap bitmap, int x, int y,
			int width, int height,Paint paint) {

		Rect src = new Rect(0, 0, width, height);

		Rect dst = new Rect(x, y, width + x, height + y);

		canvas.drawBitmap(bitmap, src, dst, paint);
	}

	public static void draw(Canvas canvas, Bitmap bitmap, int x, int y,
			int width, int height, float alpha) {

		Paint paint = new Paint();

		paint.setAlpha((int) (255 * alpha));

		Rect src = new Rect(0, 0, width, height);

		Rect dst = new Rect(x, y, width + x, height + y);

		canvas.drawBitmap(bitmap, src, dst, paint);
	}

}
